package com.sky.utils;

/**
 * 身份信息校验工具类
 * @author zgp
 * @version V1.0
 * @date 2025-01-12 16:28
 */
public class IdentityUtil {
    public static final String PHONE_REGX = "^(?:(?:\\+|00)86)?1(?:(?:3[\\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\\d])|(?:9[189]))\\d{8}$";
    public static final String ID_CARD_REGX = "^[1-9]\\d{5}(?:18|19|20)\\d{2}(?:0[1-9]|10|11|12)(?:0[1-9]|[1-2]\\d|30|31)\\d{3}[0-9Xx]$";
    private IdentityUtil(){

    }

    /**
     * 校验手机号是否合法
     * @param phone 手机号
     * @return true：合法，false：非法
     */
    public static boolean validatePhone(String phone){
        return phone.matches(PHONE_REGX);
    }

    /**
     * 校验身份证号是否合法
     * @param idCard 身份证号
     * @return true：合法，false：非法
     */
    public static boolean validateIdCardNum(String idCard){
        return idCard.matches(ID_CARD_REGX);
    }
}
